View Javadoc
1   package edu.jiangxin.apktoolbox.help.settings;
2   
3   import edu.jiangxin.apktoolbox.swing.extend.EasyChildTabbedPanel;
4   import edu.jiangxin.apktoolbox.utils.Constants;
5   
6   import javax.swing.*;
7   import java.io.Serial;
8   
9   public class AlwaysOnTopPanel extends EasyChildTabbedPanel {
10      @Serial
11      private static final long serialVersionUID = 1L;
12  
13      private JPanel optionPanel;
14  
15      @Override
16      public void createUI() {
17          BoxLayout boxLayout = new BoxLayout(this, BoxLayout.Y_AXIS);
18          setLayout(boxLayout);
19  
20          createOptionPanel();
21          add(optionPanel);
22  
23          add(Box.createVerticalStrut(15 * Constants.DEFAULT_Y_BORDER));
24      }
25  
26      private void createOptionPanel() {
27          optionPanel = new JPanel();
28          optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.X_AXIS));
29  
30          JLabel typeLabel = new JLabel("Always on top:");
31          JCheckBox alwaysOnTopCheckBox = new JCheckBox();
32          alwaysOnTopCheckBox.setSelected(conf.getBoolean("always.on.top", false));
33          alwaysOnTopCheckBox.addActionListener(e -> {
34              conf.setProperty("always.on.top", alwaysOnTopCheckBox.isSelected());
35              getFrame().setAlwaysOnTop(alwaysOnTopCheckBox.isSelected());
36              SwingUtilities.updateComponentTreeUI(getFrame());
37              getFrame().refreshSizeAndLocation();
38          });
39  
40          optionPanel.add(typeLabel);
41          optionPanel.add(Box.createHorizontalStrut(Constants.DEFAULT_X_BORDER));
42          optionPanel.add(alwaysOnTopCheckBox);
43      }
44  }